技术广度,比深度更加重要

我们从小到大, 经常被人提到的一个成语,叫做杂而不精. 指的是,某一个人,看起来好像什么都懂,实际上什么都不懂.

这句话,可能适用于现实中的一些问题,但是大家要记住,作为最具有学习能力的程序员团体,或者说,作为一个聪明人,我们一定要多才多艺,身兼多种才艺能力和技术.

前几天我看到,某个著名的技术大会上,核心的演讲嘉宾是在某互联网公司,工作了十年以上的数据库老兵,头衔是数据库底层研究员,我认为,这个就过分专精了,把大好的年华,耗费在某一个技术里面.

在计算机的世界,技术的变革是非常迅速的,我下面说几个技术,看看大家有没有听说过?

  • DELPHI
  • flash系列中的flex , Air
  • Swing, SWT
  • EJB

这些技术,在十年以前都是火得不能再火的技术,现在,几乎没有人问津,为什么会这样?当初做这些技术的人,后来都怎么样了?

再往前一些年份,WPS,是由求伯君先生一个人用汇编语言写出来的,他是中国汇编语言第一人. 现在你身边有做汇编的吗?

十年前的人,大家追求性能,写完C语言之后,还要用某个工具,把生成的汇编语言再给优化一下,现在有这样干的吗?听到的做C语言的都很少了。 不能做WEB, 不能做移动端, 只能做比较冷门的服务器底层或者桌面应用。

技术是一直在向前发展的,很可能今天看到的热门技术,明天就会被抛弃掉,你身边的头发开始花白的老兵,或者某个油腻大叔, 十年之前可能就是一个叱咤风云的教父级人物。

所以我认为,在某一个技术层面,消耗半年或者一年就很多了,我们要把有限的精力体力和青春,用在性价比最高的地方.

用有限的时间,合理点亮技能树

如果我们用图形的面积表示掌握的技能的话,可以有个对比:

王同学, 32岁, 入职5年, 5年来潜心修行数据库技术, 所有的精力都用在了数据库层面,精通数据库的各种底层算法实现,底层原理,精通MYSQL源代码.

他的技能树如下:

精通的技能树

李同学, 32岁, 入职5年, 5年来什么都喜欢学,学到一定程度,觉得自己达到了80分,就不再学了。做项目特别快, 虽然底层的算法实现不明白, 但是各种框架用的得心应手。 数据库, 编程语言, 前端CSS,JS, 手机ANDROID, IOS 都可以做。 项目经验非常丰富。

他的技能树如下:

熟练的N个技能的技能树

从图中我们可以看出来,面积越大,掌握的技术就越多,在我们的技术界,有个共识,用一年时间就可以把某个技术掌握到80分,但是如果想把这个技术,从80分提高到一百分,就再需要四年的时间.

我个人认为,对于某一个技术,只要达到80分的水平,就已经很不错了,可以应付绝大部分出现的情况,剩下的那些比较冷门的知识,到时候随查随用就可以了,百度谷歌都是我们的技术手册。

从上图可以看到,虽然王同学,对于技术库已经达到了一百分,但是他付出的代价是,五年时间只会这一个技能

而李同学虽然在数据库层面不如王同学这么精通,只有80分,但是在其他的几个热门技术领域里,都是80分,是很不错的状态,任何一个技能都可以找到相关职位的不错的工作, 从这个层面来讲,李同学具备的知识和能力,在实际应用层面是碾压王同学的.

所以,对于王同学来说,他的最好归宿就是在一家大公司担任研究型的工作(这家大公司20年内不会倒闭) , 例如在Oracle 或者MYSQL 专门做底层数据库的开发, 王同学就可以最大化的发挥它的能力

而李同学的选择就非常多,可以在任意一个领域层面上继续深入,或者干脆出来创业,做一名技术合伙人,在中国, 李同学这样的人才就是最最合适的CTO,他什么都懂

如何学习多种技能?

  1. 用业余时间做项目
  2. 每天挤出时间学习
  3. 积极主动的工作, 不要踢皮球。 要学会接球。
  4. 在大方向的层面,要有计划的学习 后端,web前端,移动端,运维,都要学一些。
  5. 在某个大方向的细节层面,多看前辈们是如何做的,ThoughtWorks技术雷达也很好

results matching ""

    No results matching ""